package com.chenxu.gmall.Controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * Date: 2021/07/09
 * Desc: 日志处理服务
 * @Slf4j  lombok注解  辅助第三方记录日志框架
 * @RequestParam("param")String jsonLog  接收到param的内容，然后传给jsonLog
 * ipconfig查看windows的ip地址
 */
@RestController
@Slf4j
public class LoggerController {

    //KafkaTemplate是Spring提供对kafka操作的类

    @Autowired //注入，创建对应的对象；
    //KafkaTemplate是Spring框架提供的；
    KafkaTemplate kafkaTemplate;

    @RequestMapping("/applog") //与发送的请求保持一致；
    //jar包参数已经写死了，就叫param；这里接收到param的内容，然后传给jsonLog；
    //对应的windows地址为：10.242.151.3
    //jar包输出数据的位置就为http://10.242.151.3/applog
    public String logger(@RequestParam("param") String jsonLog){
        //1.打印输出到控制台
        //System.out.println(jsonLog);
        //2.落盘   借助记录日志的第三方框架 log4j [logback]
        log.info(jsonLog);
        //3.将生成的日志发送到kafka对应的主题中
       kafkaTemplate.send("ods_base_log",jsonLog);
        return "success";
    }
}